﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Brjostagjof_H4.Models
{
    public interface IMonsterRepository
    {
        void updateCategories(List<Category> cats);
        void updatePharmacist(About newPhar, string user);
        About getPharmacist();
        void updateDonate(About newDon, String user);
        About getDonate();
        void updateAbout(About newAbout, string user);
        About getAbout();
        List<Entry> getNewsPreview(int howMany);
        Entry getNewsFromID(int id);
        List<Entry> getArticleList(int cat);
        List<Category> getCategories();
        int getCategoryID(string category);
        string getCategoryName(int catID);
        List<Entry> getArticlePreview(int howMany);
        Entry getEntryById(int id);
        List<Entry> getXLatestNews(int number);
        List<Entry> getXLatestArticles(int number);
        List<Entry> getXLatestEntries(int number);
        List<Entry> getXLatestEntriesByID(int number, Guid ID);
        IEnumerable<aspnet_Membership> getProfiles();
        aspnet_Membership getProfileByUserName(string userName);
        string getUserNameByID(Guid? ID);
        void updateProfile(aspnet_Membership p, string user);
        ContactUs deleteContactUsData(int id);
        ContactUs fetchContactUsById(int id);
        IQueryable<ContactUs> fetchContactUsDataAll();
        IQueryable<ContactUs> fetchContactUsDataOld();
        void addEntry(EntryModel entry);
        void updateEntry(Entry entry);
        bool isUserRegistered(string userName);
        bool updateRole(string userName, string role);
        List<UserHandling> getUserEditList();
        UserHandling getUserEditByUserName(string userName);
        void updateBan(string user, bool isActive);
        //List<Question> getXLatestQuestions(int number);
        Guid getUserIDByName(String name);
        Timeline getDataByUserID(Guid user);
        void addTimelineData(Timeline t);
        void addAdvertisement(AdsModels ads);

    }
}
    


